package org.apache.ibatis.common.annotations;

import java.lang.annotation.*;

/**
 * @Name CacheNamespace
 * @Description: [配置] 缓存命名空间
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-05-09 13:59:18
 **/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface CacheNamespace {

    Class<? extends Cache> implementation() default PerpetualCache.class;

    Class<? extends Cache> eviction() default LruCache.class;

    long flushInterval() default 0;

    int size() default 1024;

    boolean readWrite() default true;

    boolean blocking() default false;

    Property[] properties() default {};

}
